package problem860;

import java.util.HashMap;

//860.柠檬水找零
//https://leetcode.cn/problems/lemonade-change/

class Solution {
    public boolean lemonadeChange(int[] bills) {
        HashMap<Integer, Integer> map = new HashMap<>();
        map.put(5,0);
        map.put(10,0);
        map.put(20,0);
        for(int x:bills) {
            if(x == 5) {
                map.put(5, map.get(5) + 1);
            } else if(x == 10) {
                if(map.get(5) == 0) return false;
                else {
                    map.put(5, map.get(5) - 1);
                    map.put(10, map.get(10) + 1);
                }
            } else if(x == 20) {
                if(map.get(10) != 0) {
                    map.put(10, map.get(10) - 1);
                    x -= 10;
                }
                while(x > 5) {
                    if(map.get(5) == 0) return false;
                    map.put(5, map.get(5) - 1);
                    x -= 5;
                }
            }
        }
        return true;
    }
}